// 导入 Pinia 的 defineStore 函数，用于定义状态管理的 store
import { defineStore } from 'pinia'

// 定义一个名为 useAppStore 的 store，标识为 'app'
// 这个 store 管理应用级别的状态，如加载状态和侧边栏的开闭
export const useAppStore = defineStore('app', {
  // 定义 store 的状态
  state: () => ({
    // loading 表示应用的加载状态，初始值为 false
    loading: false,
    // sidebarOpen 表示侧边栏的开闭状态，初始值为 true
    sidebarOpen: true
  }),
  // 定义 store 的操作
  actions: {
    // setLoading 方法用于更新 loading 状态
    // 参数 status 是一个新的加载状态值
    setLoading(status) {
      this.loading = status
    },
    // toggleSidebar 方法用于切换侧边栏的开闭状态
    toggleSidebar() {
      this.sidebarOpen = !this.sidebarOpen
    }
  }
})
